GIS features in 5.3.3 您所在的位置:网站首页 mariadb mysql_query GIS features in 5.3.3

GIS features in 5.3.3

2024-04-18 12:02| 来源: 网络整理| 查看: 265

Basic information about the existing spatial features can be found in the Geographic Features section of the Knowlegebase. The Spatial Extensions page of the MySQL manual also applies to MariaDB.

The MariaDB 5.3.3 release , contains code improving the spatial functionality in MariaDB.

MySQL operates on spatial data based on the OpenGIS standards, particularly the OpenGIS SFS (Simple feature access, SQL option).

Initial support was based on version 05-134 of the standard. MariaDB implements a subset of the 'SQL with Geometry Types' environment proposed by the OGC. And the SQL environment was extended with a set of geometry types.

MariaDB supports spatial extensions to operate on spatial features. These features are available for Aria, MyISAM, InnoDB, NDB, and ARCHIVE tables.

For spatial columns, Aria and MyISAM supports both SPATIAL and non-SPATIAL indexes. Other storage engines support non-SPATIAL indexes.

The most recent changes in the code are aimed at meeting the OpenGIS requirements. One thing missed in previous versions is that the functions which check spatial relations didn't consider the actual shape of an object, instead they operate only on their bounding rectangles. These legacy functions have been left as they are and new, properly-working functions are named with an 'ST_' prefix, in accordance with the latest OpenGIS requirements. Also, operations over geometry features were added.

The list of new functions:

Spatial operators. They produce new geometries.

NameDescription ST_UNION(A, B)union of A and B ST_INTERSECTION(A, B)intersection of A and B ST_SYMDIFFERENCE(A, B)symdifference, notintersecting parts of A and B ST_BUFFER(A, radius)returns the shape of the area that lies in 'radius' distance from the shape A.

Predicates, return boolean result of the relationship

NameDescription ST_INTERSECTS(A, B)if A and B have an intersection ST_CROSSES(A, B)if A and B cross ST_EQUALS(A, B)if A and B are equal ST_WITHIN(A, B)if A lies within B ST_CONTAINS(A,B)if B lies within A ST_DISJOINT(A,B)if A and B have no intersection ST_TOUCHES(A,B)if A touches B


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有